// 监控配置项
export interface MonitorOptions {
  reportUrl: string; // 上报接口（必填）
  appKey?: string; // 应用标识（可选）
  batchSize?: number; // 批量上报阈值（默认10）
  batchInterval?: number; // 批量上报间隔（ms，默认30000）
  enableError?: boolean; // 是否开启错误监控（默认true）
  enablePerformance?: boolean; // 是否开启性能监控（默认true）
  enableBehavior?: boolean; // 是否开启行为监控（默认true）
  beforeReport?: (data: ReportData) => ReportData | boolean; // 上报前钩子
}

// 上报数据类型
export type ReportType = 'error' | 'performance' | 'behavior';

// 上报数据结构
export interface ReportData {
  type: ReportType;
  subType: string;
  [key: string]: any; // 其他自定义字段
}

// 错误监控子类型
export type ErrorSubType = 'js_error' | 'resource_error' | 'promise_error' | 'http_error';

// 性能监控子类型
export type PerformanceSubType = 'page_load' | 'lcp' | 'fcp' | 'cls';

// 行为监控子类型
export type BehaviorSubType = 'click' | 'page_view' | 'custom';